//Try to put all things in here that will be modified frequently, or
//rather just put everything in here that is a value that cannot be
//deduced by logic (idk...)

//All motor channels, wrappers or otherwise
#define MOTOR_FL_CHAN 2
#define MOTOR_FR_CHAN 1
#define MOTOR_BL_CHAN 3
#define MOTOR_BR_CHAN 4

#define NET_MOTOR_CHAN 7

#define ENC_SHOOTER_MOTOR_A 1
#define ENC_SHOOTER_MOTOR_B 1

#define NET_MOTOR_CHANNEL 1

#define CONV_ROLLER_CHANNEL 1
#define BOTTOM_ROLLER_CHANNEL 1
#define TOP_ROLLER_CHANNEL 6

#define SHOOT_TURRET_MOTOR_TOP_CHAN 7
#define SHOOT_TURRET_MOTOR_BOT_CHAN 8

#define ROTATING_TURRET_MOTOR_CHAN 2
#define PITCH_TURRET_MOTOR_CHAN 5

//All sensor channels
#define NET_LIMIT_OPEN 1
#define NET_LIMIT_CLOSE 9
#define ENC_NET_MOTOR_A 5
#define ENC_NET_MOTOR_B 4

#define ENC_COLLECTOR_A 1
#define ENC_COLLECTOR_B 1
#define ENC_TOWER_A 1
#define ENC_TOWER_B 1

#define TOP_LIGHT_SENSOR 10
#define MIDDLE_LIGHT_SENSOR 14
#define BOTTOM_LIGHT_SENSOR 12
#define BOTTOM_LIMIT_SENSOR 7
#define TOP_LIMIT_SENSOR 6

#define TURRET_ENCODER_CHANNEL_A 7
#define TURRET_ENCODER_CHANNEL_B 8
#define ANGLE_SENSOR_CHANNEL 5

//All PID values

#define SPEED_PID_P .2
#define SPEED_PID_I 0
#define SPEED_PID_D 0

#define POS_PID_P 0
#define POS_PID_I 0
#define POS_PID_D 0

#define LIN_PID_P 0
#define LIN_PID_I 0
#define LIN_PID_D 0

#define TURN_PID_P 0
#define TURN_PID_I 0
#define TURN_PID_D 0

#define PITCH_PID_P 0
#define PITCH_PID_I 0
#define PITCH_PID_D 0

#define TURRET_PID_P .0003
#define TURRET_PID_I .000
#define TURRET_PID_D 0

#define SHOOTER_PID_P .1
#define SHOOTER_PID_I .001
#define SHOOTER_PID_D 0

#define GYRO_CHANNEL 1

//Stuff for driver's station
#define JOYSTICK_PORT_LEFT 1
#define JOYSTICK_PORT_RIGHT 2
#define BTN_MANUAL_OVERRIDE 1
#define BTN_FIRE 2
#define BTN_ROT_180 1
#define POT_TURRET_HANGLE 1
#define POT_TURRET_VANGLE 1
#define POT_TURRET_SPEED 1

//Names for SmartDashboard - probably not necessary, but heck why not
//Please use the same pattern for each
#define SD_MOTOR_FL_SPEED "FL Cur Speed:"
#define SD_MOTOR_FR_SPEED "FR Cur Speed:"
#define SD_MOTOR_BL_SPEED "BL Cur Speed:"
#define SD_MOTOR_BR_SPEED "BR Cur Speed:"

#define SD_MOTOR_FL_SETPT "FL Setpoint:"
#define SD_MOTOR_FR_SETPT "FR Setpoint:"
#define SD_MOTOR_BL_SETPT "BL Setpoint:"
#define SD_MOTOR_BR_SETPT "BR Setpoint:"

#define SD_PID_FL "FL PID"
#define SD_PID_FR "FR PID"
#define SD_PID_BL "BL PID"
#define SD_PID_BR "BR PID"

#define SD_PID_P "P: "
#define SD_PID_I "I: "
#define SD_PID_D "D: "

//Thresholds and the like
#define DIGITAL_INPUT_THRESHOLD 10
#define ENC_PER_REV 375
#define SHOOTER_ENC_CPP 375
#define MAX_RPM 200
#define DELAY_BUFFER 1
#define TIME_BUFFER 1
#define TURRET_ENC_DPP (double) 180/99*1286*4/(360*360)
#define SPIN_VEL 0
#define ACCURACY 1
#define VERTICAL_CIRCLE_RATIO 1
#define HORIZONTAL_CIRCLE_RATIO 1
#define TURRET_MAX_VANGLE 1
#define TURRET_MIN_VANGLE 1
#define TURRET_MAX_HANGLE 135
#define TURRET_MIN_HANGLE -90
#define MIN_PITCH_ANGLE 43
#define MAX_PITCH_ANGLE 55














